package week10;

/**
 *
 * 557. 反转字符串中的单词 III
 * https://leetcode-cn.com/problems/reverse-words-in-a-string-iii/
 *
 *
 * 执行结果：  通过  显示详情
 *
 * 添加备注
 * 执行用时：6 ms, 在所有 Java 提交中击败了57.59% 的用户
 * 内存消耗：39 MB, 在所有 Java 提交中击败了60.87% 的用户
 * 通过测试用例：29 / 29
 * 炫耀一下:
 *
 *
 */
public class Week10ReverseWordsInAStringIII {

    public String reverseWords(String s) {
        StringBuffer buffer = new StringBuffer();
        int length = s.length();
        int size = 0;
        for(; size < length;) {
            int start = size;
            for(;size < length && s.charAt(size) != ' ';) {
                size++;
            }
            for(int p = start; p < size; p++ ) {
                buffer.append(s.charAt(start + size - 1 - p));
            }
            for(;size < length && s.charAt(size) == ' ';) {
                size++;
                buffer.append(' ');
            }
        }

        return buffer.toString();
    }
}
